标签:MySQL

MySQL

MySQL中当字段值为 `NULL` 时的注意事项

logo 14 2024-04-14

在MySQL中,当字段值为 NULL 时,它们通常不会参与常规的大小比较。在比较操作中,NULL 与任何其他值(包括另一个 NULL 值)进行比较时都不会被视为相等,也不会根据大小关系得出明确的结果。这是因为 NULL 代表未知或缺失的值,它不具有明确的大小属性。 以下是一些与 NULL 值比较相关的规则: 等值比 ...

详情...
Laravel

Laravel 动态创建 mysql 数据库表

logo 33 2023-11-20

有时我们需要动态创建数据库表;如定期备份表 backup-2023-11 , 此时用数据库迁移就不合适了,可以在代码中动态创建,代码如下: use Illuminate\Support\Facades\Schema; $tableName = 'backup-2023-11'; # 先检测该表是否已存在 if (!S ...

详情...
Laravel

Larvale MySQL事务回退、悲观锁

use Illuminate\Support\Facades\DB; try{ DB::transaction(function () use ($data) { # 获取用户信息,加悲观锁,其他的不可读写 $userInfo = UserProfile::query()->where([ ...

详情...
MySQL

MySQL 共享锁&排他锁

logo 623 2022-08-07

共享锁(lock in share mode) 允许不同事务之间共享加锁读取,但不允许其它事务修改或者加入排他锁;如果有修改必须等待一个事务提交完成,才可以执行,容易出现死锁 共享锁事务之间的读取 session1: start transaction; select * from test where id = 1 ...

详情...
MySQL

mysql 事务特性以及隔离级别说明

logo 567 2022-08-07

事务: 事务就是针对数据库的一组操作,它可以由一条或者多条SQL语句组成,同一个事务的操作具备同步的特点,如果其中有一条语句不能执行的话(或执行失败),那么所有的语句都不会执行,也就是说,事务中的语句要么都执行,要么都不执行。 注意只有使用innodb引擎的数据库或表才支持事务,MyISAM引擎不支持事务处理 事务特性 ...

详情...
MySQL

MySQL order by limit 分页数据重复或丢失问题说明

logo 589 2022-08-07

mysql 中当 order by 与limit 同时使用,数据可能出现重复或丢失问题 使用了 下面的 方法 发现也没什么问题 Db::name('users') ->where(['is_disabled'=>0]) ->field('id,nickname,team_son+team_gran ...

详情...
MySQL

理解 MySQL 字符集

logo 511 2022-05-04

转自:明月逐人归 平时我们用MySQL,字符编码方式一般是 utf8 或者 utf8mb4,至于MySQL内部是如何处理编码问题的在日常开发中并没有十分关注,遇到最多的问题也无非是表中中文乱码和表情无法存储。对于编码不一致的问题,出问题是在所难免的,我们需要系统地了解下在MySQL内部字符集是如何配置和转化的。 字符集 ...

详情...
MySQL

mysql 控制 sql 长度的相关参数

logo 111 2022-01-26

max_allowed_packet : 控制整个sql 语句长度限制 group_concat_max_len : 限制GROUP_CONCAT函数返回的结果大小,默认限制为1024(字节)的长度。 ...

详情...
Laravel

Laravel中使用group by报错的问题

问题 最近在用Laravel5.4做项目,使用Eloquent ORM中group by对数据进行分组查询时会报错。报错如下: SQLSTATE[42000]: Syntax error or access violation: 1055 'field' isn't in GROUP BY 原来是开发者在5.3版本后增 ...

详情...
MySQL

MySql 5.7 报错 sql_mode=only_full_group_by 问题解决方法

logo 147 2022-01-19

mysql 5.7 以上版本中sql_mode默认开启了 ONLY_FULL_GROUP_BY,ONLY_FULL_GROUP_BY的语义就是确定select target list中的所有列的值都是明确语义,简单的说来,在此模式下,target list中的值要么是来自于聚合函数(sum、avg、max等)的结果,要 ...

详情...